import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { SeqConditionHelper } from "./SeqConditionHelper";
import { DictIntIntHelper } from "../Public/DictIntIntHelper";
import { SeqProcessHelper } from "./SeqProcessHelper";
import { SeqRewardHelper } from "../Public/SeqRewardHelper";
type int = number;
//class STask
    
    export  class STask
    {
       

        public __write(arg1: SerializeStream): void
        {
            arg1.writeInt(this.code);
            arg1.writeInt(this.loopType);
            arg1.writeInt(this.executeCount);
            arg1.writeInt(this.group);
            arg1.writeInt(this.type);
            arg1.writeInt(this.getNpc);
            arg1.writeInt(this.endNpc);
            arg1.writeInt(this.getTalkId);
            arg1.writeInt(this.endTalkId);
            arg1.writeInt(this.notCompletedTalkId);
            arg1.writeInt(this.getChoose);
            arg1.writeInt(this.context);
            arg1.writeInt(this.endChoose);
            arg1.writeInt(this.guide);
            arg1.writeInt(this.failTalkId);
            arg1.writeInt(this.reserve1);
            arg1.writeInt(this.reserve2);
            SeqConditionHelper.write(arg1, this.getConditions);
            DictIntIntHelper.write(arg1, this.getGiveItemDict);
            SeqConditionHelper.write(arg1, this.completedConditions);
            DictIntIntHelper.write(arg1, this.endChooseItemDict);
            SeqProcessHelper.write(arg1, this.processes);
            SeqRewardHelper.write(arg1, this.rewards);
            arg1.writeInt(this.subType);
            arg1.writeInt(this.canQuickComplete);
            return;
        }

        public __read(arg1: SerializeStream): void
        {
            this.code = arg1.readInt();
            this.loopType = arg1.readInt();
            this.executeCount = arg1.readInt();
            this.group = arg1.readInt();
            this.type = arg1.readInt();
            this.getNpc = arg1.readInt();
            this.endNpc = arg1.readInt();
            this.getTalkId = arg1.readInt();
            this.endTalkId = arg1.readInt();
            this.notCompletedTalkId = arg1.readInt();
            this.getChoose = arg1.readInt();
            this.context = arg1.readInt();
            this.endChoose = arg1.readInt();
            this.guide = arg1.readInt();
            this.failTalkId = arg1.readInt();
            this.reserve1 = arg1.readInt();
            this.reserve2 = arg1.readInt();
            this.getConditions = SeqConditionHelper.read(arg1);
            this.getGiveItemDict = DictIntIntHelper.read(arg1);
            this.completedConditions = SeqConditionHelper.read(arg1);
            this.endChooseItemDict = DictIntIntHelper.read(arg1);
            this.processes = SeqProcessHelper.read(arg1);
            this.rewards = SeqRewardHelper.read(arg1);
            this.subType = arg1.readInt();
            this.canQuickComplete = arg1.readInt();
            return;
        }

        public /* var */code: int;

        public /* var */loopType: int;

        public /* var */executeCount: int;

        public /* var */group: int;

        public /* var */type: int;

        public /* var */getNpc: int;

        public /* var */endNpc: int;

        public /* var */getTalkId: int;

        public /* var */endTalkId: int;

        public /* var */notCompletedTalkId: int;

        public /* var */getChoose: int;

        public /* var */context: int;

        public /* var */endChoose: int;

        public /* var */guide: int;

        public /* var */failTalkId: int;

        public /* var */reserve1: int;

        public /* var */reserve2: int;

        public /* var */getConditions: Array<any>;

        public /* var */getGiveItemDict: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */completedConditions: Array<any>;

        public /* var */endChooseItemDict: Map<any, any> /* flash.utils.Dictionary */;

        public /* var */processes: Array<any>;

        public /* var */rewards: Array<any>;

        public /* var */subType: int;

        public /* var */canQuickComplete: int;
    }
